#include<bits/stdc++.h>

using namespace std;

#define endl '\n'

void str2vec(string s, vector<int> &v) {
    v.resize(s.size());
    for (int i = 0; i < s.size(); i++) {
        v[i] = s[i] - '0';
    }
    reverse(v.begin(), v.end());
}

/**
 * 大整数加法c=a+b 多项式加法
 * @param a
 * @param b
 * @param c
 */
void add(vector<int> a, vector<int> b, vector<int> &c) {
    int n = max(a.size(), b.size());
    c.resize(n);
    a.resize(n);
    b.resize(n);
    int carry = 0;
    for (int i = 0; i < c.size(); i++) {
        c[i] = a[i] + b[i] + carry;
        carry = c[i] / 10;
        c[i] %= 10;
    }
    if (carry) {
        c.push_back(carry);
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);


    string sa, sb;
    while (cin >> sa >> sb) {
        vector<int> a, b, c;
        str2vec(sa, a);
        str2vec(sb, b);
        add(a, b, c);
        copy(c.rbegin(), c.rend(), ostream_iterator<int>(cout, ""));
        cout << endl;
    }

    return 0;
}
